package org.jeecg.modules.qy.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 营销管理
 * @Author: jeecg-boot
 * @Date:   2021-03-11
 * @Version: V1.0
 */
@Data
@TableName("qy_marketing")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="qy_marketing对象", description="营销管理")
public class QyMarketing implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**公司ID*/
	@Excel(name = "公司ID", width = 15)
    @ApiModelProperty(value = "公司ID")
    private String companyId;
	/**活动名称*/
	@Excel(name = "活动名称", width = 15)
    @ApiModelProperty(value = "活动名称")
    private String activityName;
	/**活动类型*/
	@Excel(name = "活动类型", width = 15, dicCode = "activity_type")
	@Dict(dicCode = "activity_type")
    @ApiModelProperty(value = "活动类型")
    private Integer activityType;
	/**最大金额*/
	@Excel(name = "最大金额", width = 15)
    @ApiModelProperty(value = "最大金额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer maxMoney;
	/**最小金额*/
	@Excel(name = "最小金额", width = 15)
    @ApiModelProperty(value = "最小金额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer minMoney;
	/**单个金额*/
	@Excel(name = "单个金额", width = 15)
    @ApiModelProperty(value = "单个金额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer singleMoney;
	/**红包个数*/
	@Excel(name = "红包个数", width = 15)
    @ApiModelProperty(value = "红包个数")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer num;
	/**门槛*/
	@Excel(name = "门槛", width = 15)
    @ApiModelProperty(value = "门槛")
    private Integer threshold;
	/**参与人数*/
	@Excel(name = "参与人数", width = 15)
    @ApiModelProperty(value = "参与人数")
    private Integer joinPerson;
	/**使用个数*/
	@Excel(name = "使用个数", width = 15)
    @ApiModelProperty(value = "使用个数")
    private Integer useNum;
	/**微信二维码*/
	@Excel(name = "微信二维码", width = 15)
    @ApiModelProperty(value = "微信二维码")
    private String wxCode;
	/**活动状态*/
	@Excel(name = "活动状态", width = 15)
    @ApiModelProperty(value = "活动状态")
    private Integer activityStatus;

    /**
     * 领取总金额
     */
	@TableField(exist = false)
	private Integer receiveMoney;

    /**
     * 红包总金额
     */
    @TableField(exist = false)
	private Integer totalMoney;

    /**
     * 剩余金额
     */
    @TableField(exist = false)
    private Integer surplusMoney;

    /**
     * 未使用数量
     */
    @TableField(exist = false)
    private Integer unUseNum;

    /**
     * 使用/未使用
     */
    @TableField(exist = false)
    private String useNumStr;
}
